package com.github.yoojia.mqtt;

/**
 * @author Yoojia Chen (yoojiachen@gmail.com)
 * @since 1.0.0
 */
public interface Call {

    /**
     * 同步操作，返回响应消息
     * @return 响应消息
     * @throws Exception 发生异常时抛出
     */
    Message execute() throws Exception;

    /**
     * 异步操作，通过Callback处理响应
     * @param callback Callback
     */
    void enqueue(MessageCallback callback);

}
